package com.example.sbbsec.domain.echarts;

import com.google.common.base.MoreObjects;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.List;

import static com.google.common.collect.Lists.newArrayList;

/**
 * 地图图 实体信息
 *
 * @author lowe.yang
 * @date 2018-12-03 10:53
 */
@Getter
@Setter
public class MapSeriesEntity implements Serializable {

    private static final long serialVersionUID = 7891833508280520723L;

    public MapSeriesEntity() {

    }

   /**
     * @param name  地区名称
     * @param code  地区编码
     * @param value 数值
     */
    public MapSeriesEntity(String name, String code, String value) {
        this(name, code, false, value);
    }

    /**
     * @param name      地区名称
     * @param code      地区编码
     * @param value     数值
     * @param longitude 经度
     * @param latitude  纬度
     */
    public MapSeriesEntity(String name, String code, String value, String longitude, String latitude) {
        this(name, code, false, value, longitude, latitude);
    }

    /**
     * @param name     地区名称
     * @param code     地区编码
     * @param selected 是否选中
     * @param value    数值
     */
    public MapSeriesEntity(String name, String code, boolean selected, String value) {
        this.name = name;
        this.code = code;
        this.selected = selected;
        this.value = newArrayList(value);
    }

    /**
     * @param name      地区名称
     * @param code      地区编码
     * @param selected  是否选中
     * @param value     数值
     * @param longitude 经度
     * @param latitude  纬度
     */
    public MapSeriesEntity(String name, String code, boolean selected, String value, String longitude, String latitude) {
        this.name = name;
        this.code = code;
        this.selected = selected;
        this.value = newArrayList(longitude, latitude, value);
    }


    /**
     * 地区名称
     */
    private String name;

    /**
     * 地区编码
     */
    private String code;

    /**
     * 是否选中
     */
    private boolean selected;

    /**
     * 数值
     */
    private List<String> value;

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("name", name)
                .add("code", code)
                .add("selected", selected)
                .add("value", value)
                .toString();
    }
}
